"""

案例3：【带json数据的post请求】
验证码：
地址：http://kdtx-test.itheima.net/api/captchaImage
方法：get

登录：
地址：http://kdtx-test.itheima.net/api/login
方法：Post
请求数据：
请求头：Content-Type: application/json
请求体：{"username": "admin", "password": "HM_2023_test","code":"2", "uuid":"验证码接口返回数据"}
"""
import pytest

from common.read_json import *
from config import BASE_URL

"""
@property 是 Python 中的一个内置装饰器，
    用于将类中的方法转换为属性（类似变量的访问方式），
    从而更优雅地实现对类属性的读取、修改和验证。
"""
import json

import requests
class Test_login02:
    @pytest.mark.parametrize("username,password,msg", read_json("login.json"))
    def test_login01(self,username,password,msg):
        url1 = BASE_URL +"/api/captchaImage"
        res1 = requests.get(url=url1)
        data = {"username": username, "password": password,"code":"2", "uuid":res1.json().get("uuid")}
        url2 = BASE_URL+"/api/login"
        headers = {"Content-Type": "application/json"}
        res = requests.post(url=url2, data=json.dumps(data), headers=headers)
        # print(res.json())
        # print(res.text)
        assert msg in res.text